#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdbool.h>
#include<assert.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>

void printarr(int* p, int size);
void Swap(int* p1, int* p2);
void AdjustDown(int* p, int parent, int size);
int MidNumi(int* p, int lefti, int righti);
void array(int* p1, int* p2, int s1, int s2);

void InsertSort(int* p, int size);
void ShellSort(int* p, int size);
void SelectSort(int* p, int size);
void HeapSort(int* p, int size);
void BubbleSort(int* p, int size);
void QuickSort(int* p, int left, int right);
void QuickSortPro(int* p, int left, int right);
void QuickSortPlus(int* p, int left, int right);
void MergeSort(int* p, int size);
void QuickSortNonR(int* p, int left, int right);